Promise.all()接受一个由promise任务组成的数组，可以同时处理多个promise任务，当所有任务都成功执行，Promise.all()会resolve
返回一个新的promise，但是当有一个失败，则返回失败的信息。
<!-- <script>
    const promise1 = new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve('promise1')
        }, 100)
    })
    const promise2 = new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve('promise2')
        }, 100)
    })
    const promises = [promise1, promise2]

    Promise.all(promises).then(
        res => {
            // promises 全部变为 fulfilled 状态的处理
        },
        err => {
            // promises 中有一个变为 rejected 状态的处理
        }
    )
</script> -->
如何进行错误处理
当promise捕获到error的时候，代码吃掉这个异常，返回resolve，约定特殊格式表示这个调用成功了
<script>
    var p1 = new Promise(function (resolve, reject) {
        setTimeout(function () {
            resolve(1);
        }, 0)
    });
    var p2 = new Promise(function (resolve, reject) {
        setTimeout(function () {
            resolve(2);
        }, 200)
    });
    var p3 = new Promise(function (resolve, reject) {
        setTimeout(function () {
            try {
                console.log(a);//这儿报错了
            }
            catch (exp) {
                resolve("error");
            }
        }, 100)
    });
    Promise.all([p1, p2, p3]).then(function (results) {
        console.log("success")
        console.log(results);// [1, 2, "error"]
    }).catch(function (r) {
        console.log("err");
        console.log(r);
    });
</script>